ST

[Pokemon] Mapa Stigal 2.0 {Pda}

Por Stigal, 12 de set. de 2012 em Mapas

pda mapa
mapa pda
pda
pokemon dash
mapa stigal
otserv
tibia
50
16.6k
StigalS
14 de setembro de 2012 às 00:07

@stigal

muito bom trabalho ms ^^ vo por na proxima atualizaçao do meu serv blz?

e so uma coisa... achu q tu esqueceu da pos de backup em {x= 1, y = 1, z = 10}... ;p

 

edit

outra coisa, vc fez alguma area tpw o trade center da pxg? '-' soh pra saber ms... vlw

 

Não fiz, esse mapa foi correndo msm brother... Mas ficou bom msm que corrido ;3

Ficaria mt feliz se vc usace na sua proxima atualização <3

 

@Rafaaw

tenho mts problemas nos meus servidores para me preocupar com minha vulgaridade!

estou aki para AJUDAR e tirar duvidas dos meus trabalhos, não me peça coisas que não sao relacionadas a esse topico!

 

 

Abraço.

StyloMaldosoS
14 de setembro de 2012 às 08:12

@Stigal e Slicer@.

 

Vi teu comentario sobre o tradeCenter, Fiz um rapidim aki pra voces ;)

Dowload.

 

 

Stigal e Slicer e All.@

Fiz uma area de clan como exemplo, irei postar, cada um usa tua criatividade néeah..

Dowload.

 

 

 

 

Espero ter ajudado vocês.

Abraço.

Editado Setembro 14 por StyloMaldoso

StigalS
14 de setembro de 2012 às 11:21

Vlws, entao fiz a area equipe rocket, quem kiser adicionar:

http://www.xtibia.co...-rocket-10-pda/

 

Abraço.

 

 

Tai o npc q me pedirao:

Giovanni (Boss Equipe Rocket Quest)

 

Va na pasta NPC e crie o "giovannnirocket.xml" e adicione isso dentro:

 

<?xml version="1.0" encoding="UTF-8"?>
<npc name="[Lider] Giovanni" script="giovannirocket.lua" walkinterval="350000" floorchange="0" speed="0" lookdir="2">
<health now="150" max="150"/>
<look type="603" head="91" body="114" legs="86" feet="0"/>
<parameters>

</parameters>
</npc>

 

 

 

agora va na pasta NPC > Scripts e crie o "giovannirocket.lua" e adicione isso dentro:

 

local focus = 0
local max_distance = 8
local talk_start = 0
local conv = 0
local fighting = false
local challenger = 0
local afk_limit_time = 30 -- seconds
local afk_time = 0  -- don't change
local battle_turn = 1  -- don't change
local challenger_turn = 0 -- don't change
local masterpos = {}
local time_to_fight_again = 15 -- seconds, not ms (so 30 * 60 means 30 minutes)
local can_walk = true  -- true to make this npc walks randomly
local max_distance = 5  -- maximum distance this npc can get far (sqms)
local walk_delay = 5  -- every seconds make this npc walk
local cooldown_table = {}
local min_pokemons_to_battle = 1-- change to whatever you want
local number_of_pokemons = 0 -- don't change
local prizes = {
[1] = {{itemid = 11640, count = 1}, {itemid = 2160, count = 10}},
local pokemons = {
{name = "Snorlax", level = 100, extralevel = 50, sex = SEX_MALE, nick = "Snorlax", ball = "super"},
{name = "Wigglytuff", level = 100, extralevel = 55, sex = SEX_FEMALE, nick = "Wigg", ball = "normal"},
{name = "Clefable", level = 95, extralevel = 40, sex = SEX_MALE, nick = "Clefa", ball = "great"},
{name = "Chansey", level = 100, extralevel = 50, sex = SEX_MALE, nick = "Chan", ball = "normal"},
{name = "Jigglypuff", level = 100, extralevel = 37, sex = SEX_FEMALE, nick = "Jigg", ball = "ultra"},
{name = "Blissey", level = 100, extralevel = 80, sex = SEX_FEMALE, nick = "Blissey", ball = "ultra"},
}

local function doSummonGymPokemon(npc)
local this = npc
if not isCreature(this) then return true end
if #getCreatureSummons(this) >= 1 or focus == 0 then return true end
local it = pokemons[battle_turn]
doSummonMonster(this, it.name)
local summon = getCreatureSummons(this)[1]
local balleffect = pokeballs["normal"].effect
 if it.ball and pokeballs[it.ball] then
  balleffect = pokeballs[it.ball].effect
 end
doSendMagicEffect(getThingPos(summon), balleffect)
setPlayerStorageValue(summon, 10000, balleffect)
setPlayerStorageValue(summon, 10001, gobackmsgs[math.random(#gobackmsgs)].back:gsub("doka", it.nick ~= "" and it.nick or it.name))
setPlayerStorageValue(summon, 1007, it.nick ~= "" and it.nick or it.name)
doSetMonsterGym(summon, focus)
local name = it.nick ~= "" and it.nick or getCreatureName(this).."s "..it.name
setWildPokemonLevel(summon, it.level, getPokemonStatus(it.name, (it.extralevel + it.level)), name, 1.5)
doCreatureSay(this, gobackmsgs[math.random(#gobackmsgs)].go:gsub("doka", getPlayerStorageValue(summon, 1007)), 1)
fighting = true
battle_turn = battle_turn + 1
end
local function doWinDuel(cid, npc)
if not isCreature(cid) then return true end
local this = npc
local x = prizes[number_of_pokemons]
for n = 1, #x do
 doPlayerAddItem(cid, x[n].itemid, x[n].count)
end
doCreatureSay(npc, "Parabéns! Você ganhou, aqui é o seu prêmio.", 1)
cooldown_table[getCreatureName(cid)] = os.clock() + time_to_fight_again
return true
end
function onCreatureSay(cid, type, msg)
local msg = string.lower(msg)
if focus == cid then
 talk_start = os.clock()
end
if msgcontains(msg, 'hi') and focus == 0 and getDistanceToCreature(cid) <= 4 then
 if cooldown_table[getCreatureName(cid)] and cooldown_table[getCreatureName(cid)] - os.clock() > 0 then
  selfSay("Hello "..getCreatureName(cid)..", I really enjoyed our last battle!")
  conv = 10
 else
  selfSay("Olá "..getCreatureName(cid)..", Você Quer Batalhar? Vamos Ver Quem é o Melhor, fale Duel para batalha")
  conv = 1
 end
 focus = cid
 talk_start = os.clock()
return true
end
if (isDuelMsg(msg) or isConfirmMsg(msg)) and (conv == 1 or conv == 10) and focus == cid then
 if conv == 10 then
  selfSay("Acabamos de lutar! Espere um tempo para me recuperar da última batalha!")
  focus = 0
 return true
 end
 if not hasPokemon(cid) then
  selfSay("Você precisa pokemons para a batalha!")
 return true
 end
 selfSay("Ok, me diga com quantos pokemons voçê vai lutar.")
 conv = 2
return true
end
if conv == 2 and focus == cid then
 if not tonumber(msg) then
  selfSay("Diga-me o número de pokemons que que nós vamos batalhar.")
  return true
 elseif tonumber(msg) > #pokemons then
  selfSay("Só tenho "..#pokemons..",de modo que o máximo é de "..#pokemons.."!")
  return true
 elseif tonumber(msg) < min_pokemons_to_battle or tonumber(msg) < 1 then
  selfSay("Tem que ser mais do que "..min_pokemons_to_battle..".")
  return true
 else
  number_of_pokemons = tonumber(msg)
  selfSay("Ok, o primeiro que vencer "..number_of_pokemons.." leva-rá a vitória, vamos começar!")
  challenger = focus
  setPlayerStorageValue(cid, 990, 1)
  addEvent(doSummonGymPokemon, 850, getThis())
  conv = 3
  return true
 end

return true
end
if isNegMsg(msg) and conv == 1 and focus == cid then
 focus = 0
 selfSay("É melhor para você recusar uma batalha contra mim!")
return true
end
if msgcontains(msg, 'bye') and focus == cid then
 selfSay('Ja Vai?! Vamos Lutar!')
 setPlayerStorageValue(focus, 990, -1)
 focus = 0
return true
end
end
local afk_warning = false
local change = false
local walkdelay = 0
function onThink()
if not masterpos.x then
 masterpos = getThingPos(getThis())
end
if focus == 0 then
 selfTurn(2)
 fighting = false
 challenger = 0
 change = false
 challenger_turn = 0
 battle_turn = 1
 afk_time = 0
 afk_warning = false
 if #getCreatureSummons(getThis()) >= 1 then
  setPlayerStorageValue(getCreatureSummons(getThis())[1], 1006, 0)
  doCreatureAddHealth(getCreatureSummons(getThis())[1], -getCreatureMaxHealth(getCreatureSummons(getThis())[1]))
 end
 walkdelay = walkdelay - 0.5
 if walkdelay <= 0 then
  walkdelay = walk_delay
  local pos = getThingPos(getThis())
  local npos = {}
  for a = 0, 3 do
if getDistanceBetween(getPosByDir(pos, a), masterpos) <= max_distance and canWalkOnPos(getPosByDir(pos, a), true, false, true, true, false) then
table.insert(npos, getPosByDir(pos, a))
end
  end
  if npos and #npos > 0 then
doTeleportThing(getThis(), npos[math.random(#npos)])
  end
 end
return true
else
if not isCreature(focus) then
 focus = 0
return true
end
if fighting then
 talk_start = os.clock()
 if not isCreature(getCreatureTarget(getThis())) then
  if #getCreatureSummons(challenger) >= 1 then
selfAttackCreature(getCreatureSummons(challenger)[1])
change = true
afk_time = 0
  else
afk_time = afk_time + 0.5
if change then
 change = false
 challenger_turn = challenger_turn + 1
end
  end
 end
 if afk_time > afk_limit_time then
  setPlayerStorageValue(focus, 990, -1)
  focus = 0
  selfSay("Estava Esperando Você, Volte Quando Estiver Pronto Para Perder!")
 return true
 end
 if not afk_warning and afk_time > afk_limit_time / 2 then
  selfSay("Onde está seu pokemon? Vamos lutar!")
  afk_warning = true
 end

 if #getCreatureSummons(getThis()) == 0 then
  if battle_turn > number_of_pokemons then
addEvent(doWinDuel, 1000, focus, getThis())
setPlayerStorageValue(focus, 990, -1)
focus = 0
  return true
  end
  addEvent(doSummonGymPokemon, 1000, getThis())
 end
 if not hasPokemon(challenger) or challenger_turn > 6 or challenger_turn >= number_of_pokemons then
  selfSay("Você perdeu! Você Nunka Irá me Derrotar.")
  setPlayerStorageValue(focus, 990, -1)
  focus = 0
 return true
 end
end
 local npcpos = getThingPos(getThis())
 local focpos = getThingPos(focus)
 if npcpos.z ~= focpos.z then
  setPlayerStorageValue(focus, 990, -1)
  focus = 0
  selfSay("Corra Quanto Quiser, Você Nunka Vencera.")
 return true
 end
 if (os.clock() - talk_start) > 30 then
  selfSay("...!")
  setPlayerStorageValue(focus, 990, -1)
  focus = 0
 end
 if getDistanceToCreature(focus) > max_distance then
  setPlayerStorageValue(focus, 990, -1)
  focus = 0
 return true
 end
 local dir = doRedirectDirection(getDirectionTo(npcpos, focpos))
 selfTurn(dir)
end
return true
end

 

Editado Setembro 14 por Stigal

EnebegeE
14 de setembro de 2012 às 17:55

Testado e aprovado, vlws ae pelo empenho, e tempo gasto em tudo isso Abraço!

StigalS
14 de setembro de 2012 às 18:10

Testado e aprovado, vlws ae pelo empenho, e tempo gasto em tudo isso Abraço!

Obrigado e estou feliz que tenha gostado...

Que faça bom uso e que te traga muitos players ;3

 

Abraço.

MulzyM
16 de setembro de 2012 às 10:52

Teria como vc passar um tutorial pra fazer quest de pokemons ???? se tiver passa ai !!!

StigalS
16 de setembro de 2012 às 11:08

Teria como vc passar um tutorial pra fazer quest de pokemons ???? se tiver passa ai !!!

Usuario, veja : http://www.xtibia.com/forum/topic/184739-dvidas-frequentes-sobre-mappingremeres/

Lá atendera suas duvidas e ajudara na questao de "oque fazer" e "como resolver"...

 

Abraço.

LukasmapL
22 de setembro de 2012 às 23:21

Ate que ficou legal!

StigalS
22 de setembro de 2012 às 23:48

Ate que ficou legal!

Usuario esse tipo de postagem é considerado FLOOD.

Obrigado por comentar, Cuidado!

 

Atenciosamente, Stigal.

1 mês depois...
victormoazV
11 de outubro de 2012 às 02:19

gostaria de saber como funciona essa golden arena? pois no meu servidor ela não está puxando os players

LendreoL
11 de outubro de 2012 às 09:49

gostaria de saber como funciona essa golden arena? pois no meu servidor ela não está puxando os players

Eles tem que ter 8 coins e se inscrever.. vai da um aviso de quando começar e eles vao pra la :)

StigalS
11 de outubro de 2012 às 13:19

gostaria de saber como funciona essa golden arena? pois no meu servidor ela não está puxando os players

Isso e um script nao tem nada haver com o mapa.

Na versão 1.7 slicer estao usando meu mapa melhorado e com sistemas 100%

pepecece10P
11 de outubro de 2012 às 21:26

Mapa 100%.Vei muito bom.Posta mais vc e muito bom msm =D.+Rep

StigalS
12 de outubro de 2012 às 10:46

Mapa 100%.Vei muito bom.Posta mais vc e muito bom msm =D.+Rep

Obrigado, caso queira um mais completo baixe o pda 1.7

nele contem meu mapa melhorado e com servidor quase 100%

 

Abraço.

3 meses depois...
SlytonS
24 de janeiro de 2013 às 13:19

vlw rep +++++ mias so que eu preciso do cliente pra usa com o map :s se tu pude disponibiliza fico mto agradecido